想要製作一個假背包,利用按鈕顯示背包,再按下按鈕關閉背包。
要使用GameObject.SetActive來實踐背包開闔。
public void SetActive(bool value);
1.每個物件(GameObject)都有一個是否顯示(SetActive)的狀態。
2.是否顯示OnEnable or OnDisable為布林值,true會顯示(OnEnable),false則會隱藏(OnDisable)。
3.父物件的狀態優先於子物件。
4.OnDisable時,會停止使用所有該物件元件(GameObject Component)。
※GameObject Component, including attached renderers, colliders, rigidbodies, and scripts.
這個寫法將腳本掛載在作用物件之下,所以直接寫GameObject.,但事實上這個腳本只能在true的時候使用一次,將物件關閉設定為false。之後因為在false狀態下,會停止使用該物件元件,所以腳本會失去效用。
void Update(){
if(事件1){
GameObject.SetActive(true);
}
if(事件2){
GameObject.SetActive(false);
}
}
1.基本用法
//先在變數端宣告要SetActive的物件
public GameObject BagPanel;
//初始化時先設定成關閉
void Start(){
BagPanel.SetActive(false);
}
//按下a鍵開啟物件
void Update(){
if(Input.GetKey("a")){
BagPanel.SetActive(true);
}
}
2.物件顯示狀態(activeSelf定義,參閱GameObject.activeSelf)
public bool activeSelf;
同一個按鈕實現開關
//先在變數端宣告要SetActive的物件,
public GameObject BagPanel;
//初始化時先設定成關閉
void Start(){
BagPanel.SetActive(false);
}
//每按一下就將bool設定成相反的
public void OnClick ()
{
BagPanel.SetActive(!BagPanel.activeSelf);
}